package com.spring;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPSender {
    public static void main(String[] args) {
        try {
            // 创建 DatagramSocket，指定发送端口（可自行调整）
            DatagramSocket socket = new DatagramSocket(8888);
            // 目标 IP 地址（这里假设接收端在本机，可改为实际接收端 IP）
            InetAddress address = InetAddress.getLocalHost();
            // 目标端口（与接收端端口一致）
            int port = 9999;

            // 连续发送 100 个数据包
            for (int i = 1; i <= 100; i++) {
                // 数据包内容，包含序号信息
                String message = "Packet " + i;
                byte[] sendData = message.getBytes();
                // 创建 DatagramPacket，指定数据、长度、目标地址和端口
                DatagramPacket packet = new DatagramPacket(sendData, sendData.length, address, port);
                // 发送数据包
                socket.send(packet);
                System.out.println("发送数据包: " + message);
                // 为了更明显看到丢包，可适当添加延迟
                Thread.sleep(1);
            }

            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}